<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
	<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=utf-8">
	<TITLE>С чего начать</TITLE>
	<META NAME="GENERATOR" CONTENT="LibreOffice 3.5  (Linux)">
	<META NAME="AUTHOR" CONTENT="Vaclav Naydionov">
	<META NAME="CREATED" CONTENT="20130618;22415700">
	<META NAME="CHANGEDBY" CONTENT="Viacheslav Naydenov">
	<META NAME="CHANGED" CONTENT="20140717;1021600">
	<META NAME="CHANGEDBY" CONTENT="Viacheslav Naydenov">
	<STYLE TYPE="text/css">
	<!--
		@page { margin: 2cm }
		P { margin-top: 0.1cm; margin-bottom: 0.1cm }
		H1.cjk { font-family: "Droid Sans Fallback" }
		H1.ctl { font-family: "Lohit Hindi" }
		H2 { margin-bottom: 0.21cm }
		H2.western { font-family: "Times New Roman", serif }
		H2.cjk { font-family: "Droid Sans Fallback" }
		H2.ctl { font-family: "Lohit Hindi" }
		PRE.western { font-family: "Courier New", monospace }
		PRE.cjk { font-family: "Droid Sans Fallback", monospace }
		PRE.ctl { font-family: "Lohit Hindi", monospace }
		TD P { margin-top: 0.1cm; margin-bottom: 0.1cm }
		TH P { margin-top: 0.1cm; margin-bottom: 0.1cm }
		TT.western { font-family: "Courier New", monospace }
		TT.cjk { font-family: "Droid Sans Fallback", monospace }
		TT.ctl { font-family: "Lohit Hindi", monospace }
	-->
	</STYLE>
</HEAD>
<BODY LANG="ru-RU" DIR="LTR">
<H1 CLASS="western">С чего начать</H1>
<P>Чтобы попробовать инструментарий
YB.ORM в вашем окружении нужно собрать
саму библиотеку и утилиту командной
строки для генерации кода. Есть несколько
способов это сделать. 
</P>
<UL>
	<LI><P>Для пользователей Windows, более простой
	способ - взять готовый пакет, совместимый
	с вашим компилятором, См. <STRONG>Готовые
	пакеты</STRONG>. 
	</P>
	<LI><P>В любом окружении вы можете скачать
	один из релизов в виде архива с исходным
	кодом, сконфигурировать и собрать его.
	Доступны для использования две системы
	сборки: <A HREF="http://www.gnu.org/software/automake/manual/html_node/Autotools-Introduction.html">Autotools</A>
	и <A HREF="http://www.cmake.org/">CMake</A>, см. <STRONG>Сборка
	с помощью Autotools</STRONG> и <STRONG>Сборка с
	помощью CMake</STRONG>. 
	</P>
	<LI><P>Для систем на базе Debian GNU/Linux и Ubuntu
	можно собрать <TT CLASS="western">.deb</TT> пакет.</P>
</UL>
<P>Используйте <A HREF="http://git-scm.com/">Git</A> чтобы
получить свежий код из репозитория, см.
<A HREF="https://github.com/vnaydionov/yb-orm">Git
репозиторий проекта YB.ORM</A>, и уже потом
использовать Autotools или CMake. 
</P>
<P>Затем вам вероятно захочется настроить
тестовую БД, чтобы прогнать тесты и
примеры, см. <STRONG>Настройка тестовой БД</STRONG>.
</P>
<H1 CLASS="western"><A NAME="Готовые_пакеты"></A>Готовые
пакеты</H1>
<P>В каждом релизе YB.ORM есть готовые пакеты
для разработчиков, использующих Microsoft
Windows, в виде .zip-файлов - чтобы было легче
поэкспериментировать с данным
инструментарием. Эти пакеты собраны с
конкретными версиями библиотек <A HREF="http://www.boost.org/">Boost</A>
или <A HREF="http://qt-project.org/">Qt</A>. Собраны они
конкретными версиями компиляторов C++
(напр. MinGW 4.4, MSVC 2013, MSVC 2010, и т.д.). Версия,
собранная с Boost, включает в себя все
необходимые компоненты библиотек Boost,
в то время как версия, собранная с Qt,
требует установки соответствующей
версии Qt SDK вручную. По умолчанию, версия
с Boost имеет в качестве бакэнда для БД
ODBC драйвер и родной драйвер для SQLite,
версия с Qt использует <A HREF="http://qt-project.org/doc/qt-4.8/qtsql.html">QtSql</A>.
Конечно, вы можете пересобрать YB.ORM с
использованием того тулкита/компилятора/бакэнда
для БД, который вам подходит, исходный
код имеется. 
</P>
<P><STRONG>Замечание для Qt4 и MinGW</STRONG>: Qt4 SDK
было собрано производителем с
использованием компилятора MinGW 4.4.0,
который более не доступен с официального
сайта, но его можно взять <A HREF="http://nosymbolfound.blogspot.ru/2012/12/since-until-now-qt-under-windows-is.html">здесь</A>.
</P>
<H2 CLASS="western"><A NAME="Содержимое_готового_пакета"></A>
Содержимое готового пакета</H2>
<P>Готовый пакет в виде .zip файла, содержащий
библиотеку YB.ORM, собранную для Microsoft
Windows, обычно распаковывается в папку
<TT CLASS="western">c:\yborm-&lt;версия&gt;-&lt;компилятор&gt;</TT>.
Ниже приведенное описание использует
папку <TT CLASS="western">c:\yborm</TT> в качестве
корня. После извлечения образуется
следующая структура папок: 
</P>
<TABLE CELLPADDING=2 CELLSPACING=2>
	<TR>
		<TH STYLE="border: none; padding: 0cm">
            <P><STRONG>Путь</STRONG></P>
		</TH>
		<TH STYLE="border: none; padding: 0cm">
            <P><STRONG>Описание</STRONG></P>
		</TH>
	</TR>
	<TR>
		<TD STYLE="border: none; padding: 0cm">
			<P><TT CLASS="western">c:\yborm</TT></P>
		</TD>
		<TD STYLE="border: none; padding: 0cm">
			<P>корень установки инструментария
			YB.ORM</P>
		</TD>
	</TR>
	<TR>
		<TD STYLE="border: none; padding: 0cm">
			<P><TT CLASS="western">c:\yborm\bin</TT></P>
		</TD>
		<TD STYLE="border: none; padding: 0cm">
			<UL>
				<LI><P><TT CLASS="western">.dll</TT> файлы самой
                библиотеки: <STRONG><TT
                CLASS="western">ybutil.dll</TT></STRONG>,
                <STRONG><TT CLASS="western">yborm.dll</TT></STRONG>.</P>
				<LI><P>файлы <TT CLASS="western">.dll</TT>, от которых
				может зависеть данная сборка:
				<TT CLASS="western">boost_date_time</TT>, <TT CLASS="western">boost_thread</TT>,
				<TT CLASS="western">cppunit</TT>, <TT CLASS="western">libxml2</TT>,
				<TT CLASS="western">sqlite3</TT>, различные служебные
				библиотеки 
				</P>
				<LI><P>некоторые сторонние утилиты:
				<TT CLASS="western">iconv.exe</TT>, <TT CLASS="western">xmllint.exe</TT>,
				<TT CLASS="western">xsltproc.exe</TT>, <TT CLASS="western">sqlite3.exe</TT>
								</P>
				<LI><P>утилита генерации кода: <STRONG><TT CLASS="western">yborm_gen.exe</TT></STRONG>
								</P>
				<LI><P>конфигурация окружения: <STRONG><TT CLASS="western">yborm_env.bat</TT></STRONG></P>
			</UL>
		</TD>
	</TR>
	<TR>
		<TD STYLE="border: none; padding: 0cm">
			<P><TT CLASS="western">c:\yborm\build</TT></P>
		</TD>
		<TD STYLE="border: none; padding: 0cm">
			<P>папка сборки для самой библиотеки</P>
		</TD>
	</TR>
	<TR>
		<TD STYLE="border: none; padding: 0cm">
			<P><TT CLASS="western">c:\yborm\build-auth</TT></P>
		</TD>
		<TD STYLE="border: none; padding: 0cm">
			<P>папка сборки для примера Auth</P>
		</TD>
	</TR>
	<TR>
		<TD STYLE="border: none; padding: 0cm">
			<P><TT CLASS="western">c:\yborm\build-tut</TT></P>
		</TD>
		<TD STYLE="border: none; padding: 0cm">
			<P>папка для сборки примеров из папки
			tutorial</P>
		</TD>
	</TR>
	<TR>
		<TD STYLE="border: none; padding: 0cm">
			<P><TT CLASS="western">c:\yborm\doc</TT></P>
		</TD>
		<TD STYLE="border: none; padding: 0cm">
			<P>документация в формате HTML</P>
		</TD>
	</TR>
	<TR>
		<TD STYLE="border: none; padding: 0cm">
			<P><TT CLASS="western">c:\yborm\examples</TT></P>
		</TD>
		<TD STYLE="border: none; padding: 0cm">
			<P>собранные примеры и тесты, файлы
			схем, тестовая база <A HREF="http://www.sqlite.org/">SQLite3</A>,
			файлы <TT CLASS="western">.bat</TT> для удобного
			запуска</P>
		</TD>
	</TR>
	<TR>
		<TD STYLE="border: none; padding: 0cm">
			<P><TT CLASS="western">c:\yborm\include</TT></P>
		</TD>
		<TD STYLE="border: none; padding: 0cm">
			<P>заголовочные файлы для <A HREF="http://www.sqlite.org/">SQLite3</A>,
			а также:</P>
		</TD>
	</TR>
	<TR>
		<TD STYLE="border: none; padding: 0cm">
			<P><TT CLASS="western">c:\yborm\include\boost</TT></P>
		</TD>
		<TD STYLE="border: none; padding: 0cm">
			<P>- для включенной версии <A HREF="http://www.boost.org/">Boost</A></P>
		</TD>
	</TR>
	<TR>
		<TD STYLE="border: none; padding: 0cm">
			<P><TT CLASS="western">c:\yborm\include\cppunit</TT></P>
		</TD>
		<TD STYLE="border: none; padding: 0cm">
			<P>- для включенной версии <A HREF="http://sourceforge.net/apps/mediawiki/cppunit/">CppUnit</A></P>
		</TD>
	</TR>
	<TR>
		<TD STYLE="border: none; padding: 0cm">
			<P><TT CLASS="western">c:\yborm\include\libxml</TT></P>
		</TD>
		<TD STYLE="border: none; padding: 0cm">
			<P>- для включенной версии <A HREF="http://www.xmlsoft.org/">LibXml2</A></P>
		</TD>
	</TR>
	<TR>
		<TD STYLE="border: none; padding: 0cm">
			<P><TT CLASS="western">c:\yborm\include\yb</TT></P>
		</TD>
		<TD STYLE="border: none; padding: 0cm">
			<P>- <STRONG>заголовочные файлы для YB.ORM</STRONG></P>
		</TD>
	</TR>
	<TR>
		<TD STYLE="border: none; padding: 0cm">
			<P><TT CLASS="western">c:\yborm\lib</TT></P>
		</TD>
		<TD STYLE="border: none; padding: 0cm">
			<P>статические библиотеки YB.ORM, если
			используется статическая сборка, или
			библиотеки импорта: <STRONG><TT CLASS="western">ybutil.lib</TT></STRONG>,
			<STRONG><TT CLASS="western">yborm.lib</TT></STRONG> (или файлы
			<TT CLASS="western">.a</TT>, в случае MinGW); а также
			библиотеки импорта для зависимостей
			YB.ORM</P>
		</TD>
	</TR>
	<TR>
		<TD STYLE="border: none; padding: 0cm">
			<P><TT CLASS="western">c:\yborm\src</TT></P>
		</TD>
		<TD STYLE="border: none; padding: 0cm">
			<P>исходный код данной версии</P>
		</TD>
	</TR>
</TABLE>
<P>После распаковки можно запускать
примеры и тесты из папки <TT CLASS="western">examples</TT>
без каких-либо дополнительных настроек.
</P>
<H2 CLASS="western"><A NAME="Пересборка_пакета_YB.ORM"></A>
Пересборка пакета YB.ORM</H2>
<P>Самый простой способ собрать YB.ORM под
MS Windows - это пересобрать один из готовых
пакетов. Это может быть полезно, к
примеру, если у вас уже установлен
YB.ORM, и просто нужна более свежая версия
из Git, или если вы скачали сборку с Qt и
хотите пересобрать с Boost. В этом случае
поместите свежие исходники в папку <TT CLASS="western">src</TT>,
затем используйте окно командной строки
чтобы перейти <TT CLASS="western">cd</TT> в папку
<TT CLASS="western">build</TT> и запустите соответствующий
файл <TT CLASS="western">build-*.bat</TT> оттуда. Если
вы используете MS Visual C++ то следует
запускать сборку из командной строки
<EM>Visual Studio command line prompt</EM>. Все такие файлы
<TT CLASS="western">.bat</TT> просто вызывают CMake с
предопределенными параметрами, а затем
запускают команду типа <TT CLASS="western">make</TT>.
После того, как сборка успешно завершилась,
новые библиотеки, заголовочные файлы,
примеры и утилита генерации кода заменят
старые файлы в соответствующих папках.
Ниже приведены необходимые требования
для пересборки. 
</P>
<TABLE CELLPADDING=2 CELLSPACING=2>
	<TR>
		<TD STYLE="border: none; padding: 0cm">
			<P>Система сборки: 
			</P>
		</TD>
		<TD STYLE="border: none; padding: 0cm">
			<P>CMake 2.8 установлен и доступен через
			переменную окружения <TT CLASS="western">PATH</TT>
						</P>
		</TD>
	</TR>
	<TR>
		<TD STYLE="border: none; padding: 0cm">
			<P>Компилятор: 
			</P>
		</TD>
		<TD STYLE="border: none; padding: 0cm">
			<P>MinGW GCC 4.4.0, MS Visual C++ 2013, 2010, 2008 или другой
			компилятор, которым был собран пакет
						</P>
		</TD>
	</TR>
	<TR>
		<TD STYLE="border: none; padding: 0cm">
			<P>Qt SDK: 
			</P>
		</TD>
		<TD STYLE="border: none; padding: 0cm">
			<P>тестировалось с Qt4.8 и Qt5.0.2, требуется только
			для сборки с Qt, см. замечание выше о
			&quot;правильной&quot; версии компилятора
			MinGW. 
			</P>
		</TD>
	</TR>
</TABLE>
<P>Убедитесь, что задан правильный режим
сборки (с или без Qt) а также установите
переменную <TT CLASS="western">PATH</TT> для запуска
компилятора и утилит из Qt SDK в фале
<STRONG><TT CLASS="western">\bin\yborm_env.bat</TT></STRONG>. 
</P>
<P>Тем же образом можно пересобрать
пример Auth и примеры Tutorial (только без Qt)
в папках <TT CLASS="western">build-auth</TT> и <TT CLASS="western">build-tut</TT>,
соответственно. 
</P>
<H1 CLASS="western"><A NAME="Сборка_с_помощью_Autotools"></A>
Сборка с помощью Autotools</H1>
<P>Это программное обеспечение
разрабатывается, в основном, под Ubuntu
Linux, с использованием инструментов GNU,
включая GNU Autotools. Вы можете собрать YB.ORM
в среде, совместимой с POSIX, такой как
Linux, FreeBSD, Mac OS X или Cygwin. Типичная
последовательность шагов: 
</P>
<PRE CLASS="western">$ sh autogen.sh  # создать скрипт configure; требуется после &quot;git clone&quot;, не для исходников из тарбола с релизом
$ ./configure --prefix=/home/user1/yb-orm --with-test-db-url=sqlite+sqlite:///home/user1/test1_db.sqlite --disable-static
$ make
$ make check     # для запуска тестов понадобится создать базу /home/user1/test1_db.sqlite
$ make install   # будет установлено в /home/user1/yb-orm</PRE><P>
Скрипт <TT CLASS="western">configure</TT> пытается
автоматически определить доступность
и расположение библиотек и заголовочных
файлов. Есть несколько опций для этого
скрипта, которые управляют этим поиском.
Также можно указать строку подключение
к тестовой базе. Чтобы включить сборку
с Qt используйте опции <TT CLASS="western">--with-qt-includes</TT>,
<TT CLASS="western">--with-qt-libs</TT>, для сборки с
wxWidgets используйте опцию <TT CLASS="western">--with-wx-config</TT>.
</P>
<PRE CLASS="western">$ ./configure --help
...
  --prefix=PREFIX        Корень установки файлов, по умолчанию [/usr/local]
  --with-qt-includes=DIR Директория с заголовочными файлами Qt4/Qt5
  --with-qt-libs=DIR     Директория с библиотеками Qt4/Qt5
  --with-wx-config=BIN   Конфигурационный скрипт библиотеки wxWidgets
  --with-boost=DIR       Директория, куда установлен Boost
  --with-soci-includes=DIR
                         Директория с заголовочными файлами SOCI
  --with-soci-libs=DIR   Директория с библиотеками SOCI
  --with-test-db-url=dialect+driver://user:password@database or like
                         Строка подключения (URL) для тестовой БД
...</PRE><P>
Пользовательские макросы, используемые
в скрипте <TT CLASS="western">configure</TT>, помещаются
в <TT CLASS="western">acinclude.m4</TT>. Если вы собираете
свое приложение с помощью Autotools и YB.ORM,
можно взять макрос <TT CLASS="western">YB_CHECK_YBORM()</TT>
в свой файл <TT CLASS="western">configure.ac</TT>. Это
добавит опцию <TT CLASS="western">--with-yborm-root</TT>
к вашему скрипту <TT CLASS="western">configure</TT>.
Смотрите пример: <A 
HREF="https://github.com/vnaydionov/yb-orm/blob/master/examples/auth/README.auth">приложение
Auth</A>. 
</P>
<H2 CLASS="western"><A NAME="Минимальные_требования"></A>
Минимальные требования</H2>
<P>Сборка YB.ORM с библиотекой Boost проверялась
в среде Ubuntu Linux, начиная с версии 8.04.
Следующие версии пакетов должны подойти:
</P>
<UL>
	<LI><P>libboost-thread-dev &gt;= 1.34.1 
	</P>
	<LI><P>libboost-date-time-dev &gt;= 1.34.1 
	</P>
	<LI><P>libxml2-dev &gt;= 2.6.31 
	</P>
	<LI><P>libcppunit-dev &gt;= 1.12.0 (если вы собираетесь
	запускать наборы тестов) 
	</P>
	<LI><P>autoconf &gt;= 2.61 
	</P>
	<LI><P>automake &gt;= 1.10.1 
	</P>
	<LI><P>libqt4-dev &gt;= 4.5 (проверялось на Ubuntu
	9.04) 
	</P>
	<LI><P>libwxgtk2.8-dev &gt;= 2.8.12 
	</P>
</UL>
<P>Для доступа к базе данных потребуется
что-то из следующего: 
</P>
<UL>
	<LI><P>libsqlite3-dev &gt;= 3.7.9 
	</P>
	<LI><P>soci &gt;= 3.2.0 
	</P>
	<LI><P>unixodbc-dev &gt;= 2.2.14 (чтобы заработала
	связка Oracle ODBC под Ubuntu 8.04 64bit пришлось
	использовать unixODBC = 2.3.0) 
	</P>
	<LI><P>instantclient &gt;= 10.2 (клиент и драйвер ODBC
	для Oracle) 
	</P>
	<LI><P>libmyodbc &gt;= 5.1.10 
	</P>
	<LI><P>odbc-postgresql &gt;= 09.00.0310 
	</P>
</UL>
<H1 CLASS="western"><A NAME="Сборка_с_помощью_CMake"></A>
Сборка с помощью CMake</H1>
<P>GNU Autotools бесполезны когда дело доходит
до компиляторов Microsoft Visual C++ или других
компиляторов под Windows, кроме MinGW GCC.
Поэтому добавлены скрипты CMake для сборки
YB.ORM под Windows, хотя для окружения POSIX они
так же подойдут. Этот метод сборки был
протестирован для следующих версий ПО:
</P>
<UL>
	<LI><P>MS Visual C++ 2013 Express Edition, Boost 1.53.0</P>
	<LI><P>MS Visual C++ 2010 Express Edition, Boost 1.46.1, Qt 4.8.1 
	</P>
	<LI><P>MS Visual C++ 2008 Express Edition, Boost 1.38.0, Qt 4.8.1 
	</P>
	<LI><P>MinGW GCC 4.4.0, Boost 1.46.1, Qt 4.8.1 
	</P>
	<LI><P>Ubuntu Linux GCC 4.6.3, Boost 1.46.1, Qt 4.8.1 
	</P>
</UL>
<P>Загрузить CMake 2.8 можно отсюда:
<A HREF="http://www.cmake.org/cmake/resources/software.html">http://www.cmake.org/cmake/resources/software.html</A>
Убедитесь, что команда <TT CLASS="western">cmake</TT>
доступна через переменную окружения
<TT CLASS="western">PATH</TT>. 
</P>
<P>Можно передать CMake параметры, здесь
есть несколько примеров: 
</P>
<TABLE CELLPADDING=2 CELLSPACING=2>
	<TR>
		<TD STYLE="border: none; padding: 0cm">
			<P>-G &quot;NMake Makefiles&quot; 
			</P>
		</TD>
		<TD STYLE="border: none; padding: 0cm">
			<P>какой диалект языка Makefile использовать
						</P>
		</TD>
	</TR>
	<TR>
		<TD STYLE="border: none; padding: 0cm">
			<P>-D USE_QT:BOOL=ON 
			</P>
		</TD>
		<TD STYLE="border: none; padding: 0cm">
			<P>сборка с Qt 
			</P>
		</TD>
	</TR>
	<TR>
		<TD STYLE="border: none; padding: 0cm">
			<P>-D CMAKE_INSTALL_PREFIX=c:/yborm 
			</P>
		</TD>
		<TD STYLE="border: none; padding: 0cm">
			<P>задать корень установки 
			</P>
		</TD>
	</TR>
	<TR>
		<TD STYLE="border: none; padding: 0cm">
			<P>-D SOCI_INCLUDEDIR:PATH=c:/work/soci-3.2.1/include/soci 
			</P>
		</TD>
		<TD STYLE="border: none; padding: 0cm">
			<P>заголовочные файлы библиотеки SOCI 
			</P>
		</TD>
	</TR>
	<TR>
		<TD STYLE="border: none; padding: 0cm">
			<P>-D SOCI_LIBS:FILEPATH=c:/work/soci-3.2.1/lib/libsoci_core.lib 
			</P>
		</TD>
		<TD STYLE="border: none; padding: 0cm">
			<P>библиотека SOCI 
			</P>
		</TD>
	</TR>
</TABLE>
<H1 CLASS="western"><A NAME="Настройка_тестовой_базы_данных"></A>
Настройка тестовой базы данных</H1>
<P>Для запуска тестов и примеров нужна
настроенная тестовая БД. Если вы загрузили
готовый пакет для Windows, то в нем уже есть
файл с базой SQLite3, находится тут:
<TT CLASS="western">c:\yborm\examples\test1_db</TT>, при условии
что пакет распакован в папку <TT CLASS="western">c:\yborm</TT>.
В остальных случаях нужно создать базу
данных (или схему), а затем создать в ней
тестовые таблицы. 
</P>
<P>В случае если используется ODBC, нужно
настроить источник данных (DSN) для вашей
базы, используя утилиту <TT CLASS="western">odbcad32.exe</TT>.
В среде POSIX это же делается путем
редактирования конфигурационных файлов:
<TT CLASS="western">/etc/odbcinst.ini</TT> - для настройки
драйверов и <TT CLASS="western">~/.odbc.ini</TT> - для
заведения пользовательских источников
данных DSN. 
</P>
<P>Замечание для пользователей Windows 64
бита: поскольку данная библиотека в
составе готовых пакетов скомпилирована
в режиме 32 бита, если только вы сами не
перекомпилировали ее 64-битным компилятором,
вам следует использовать 32-битную версию
утилиты <TT CLASS="western">odbcad32.exe</TT>:
<TT CLASS="western">c:\windows\syswow64\odbcad32.exe</TT>. 
</P>
<P>Ниже приведены шаги, которые помогут
создать пустую тестовую БД с тестовым
аккаунтом пользователя (используя
SQLite3, MySQL, Postgres или Firebird), а потом создать
тестовые таблицы в ней. 
</P>
<H2 CLASS="western"><A NAME="SQLite3"></A>SQLite3</H2>
<P>Примеры строк для подключения к БД
SQLite3: 
</P>
<TABLE CELLPADDING=2 CELLSPACING=2>
	<COL WIDTH=0>
	<TR>
		<TD STYLE="border: none; padding: 0cm">
			<P><TT CLASS="western">&quot;sqlite+sqlite://./test1_db&quot;</TT></P>
		</TD>
	</TR>
	<TR>
		<TD STYLE="border: none; padding: 0cm">
			<P><TT CLASS="western">&quot;sqlite+sqlite://c:/yborm/examples/test1_db&quot;</TT></P>
		</TD>
	</TR>
	<TR>
		<TD STYLE="border: none; padding: 0cm">
			<P><TT CLASS="western">&quot;sqlite+qtsql://c:/yborm/examples/test1_db&quot;</TT></P>
		</TD>
	</TR>
</TABLE>
<P>Этот драйвер является драйвером по
умолчанию для готовых пакетов.
Утилита-оболочка <TT CLASS="western">sqlite3.exe</TT>
идет в составе готовых пакетов YB.ORM, см.
папку <TT CLASS="western">bin</TT>. 
</P>
<P>Применить сгенерированные скрипты
SQL можно так: 
</P>
<PRE CLASS="western">C:\yborm\bin&gt;sqlite3 c:\yborm\examples\test1_db &lt; c:\yborm\examples\test_schema.sql
C:\yborm\bin&gt;sqlite3 c:\yborm\examples\test1_db &lt; c:\yborm\examples\ex2_schema.sql
C:\yborm\bin&gt;sqlite3 c:\yborm\examples\test1_db &lt; c:\yborm\examples\auth_schema.sql</PRE><H2 CLASS="western">
<A NAME="MySQL"></A>MySQL</H2>
<P>Примеры строк для подключения к БД
MySQL: 
</P>
<TABLE CELLPADDING=2 CELLSPACING=2>
	<COL WIDTH=0>
	<TR>
		<TD STYLE="border: none; padding: 0cm">
			<P><TT CLASS="western">&quot;mysql+odbc://test1_usr:test1_pwd@test1_dsn&quot;</TT></P>
		</TD>
	</TR>
	<TR>
		<TD STYLE="border: none; padding: 0cm">
			<P><TT CLASS="western">&quot;mysql+soci://user=test1
			pass=test1_pwd host=localhost service=test1_db&quot;</TT></P>
		</TD>
	</TR>
	<TR>
		<TD STYLE="border: none; padding: 0cm">
			<P><TT CLASS="western">&quot;mysql+soci_odbc://DSN=test1_dsn;UID=test1_usr;PWS=test1_pwd&quot;</TT></P>
		</TD>
	</TR>
	<TR>
		<TD STYLE="border: none; padding: 0cm">
			<P><TT CLASS="western">&quot;mysql+qodbc3://test1_usr:test1_pwd@test1_dsn&quot;</TT></P>
		</TD>
	</TR>
	<TR>
		<TD STYLE="border: none; padding: 0cm">
			<P><TT CLASS="western">&quot;mysql+qtsql://test1_usr:test1_pwd@127.0.0.1:3306/test1_db&quot;</TT></P>
		</TD>
	</TR>
</TABLE>
<P>Вам должен быть известен пароль для
пользователя <TT CLASS="western">root</TT> от вашей
установки MySQL, чтобы можно было управлять
базами и пользователями. 
</P>
<PRE CLASS="western">C:\MySQL\bin&gt;mysql.exe -u root -p mysql
Enter password: ******** &lt;-- введите сюда пароль пользователя root базы MySQL
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 361
Server version: 5.0.51b-community-nt-log MySQL Community Edition (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql&gt; create database test1_db default charset utf8;
Query OK, 1 row affected (0.00 sec)
mysql&gt; create user 'test1_usr'@'localhost' identified by 'test1_pwd';
Query OK, 0 rows affected (0.00 sec)
mysql&gt; grant all on test1_db.* to 'test1_usr'@'localhost';
Query OK, 0 rows affected (0.00 sec)
mysql&gt; exit
Bye</PRE><P>
Применить сгенерированные скрипты SQL
можно так: 
</P>
<PRE CLASS="western">C:\MySQL\bin&gt;mysql.exe -u test1_usr -ptest1_pwd test1_db &lt; c:\yborm\examples\test_schema.sql
C:\MySQL\bin&gt;mysql.exe -u test1_usr -ptest1_pwd test1_db &lt; c:\yborm\examples\ex2_schema.sql
C:\MySQL\bin&gt;mysql.exe -u test1_usr -ptest1_pwd test1_db &lt; c:\yborm\examples\auth_schema.sql</PRE><H2 CLASS="western">
<A NAME="Postgres"></A>Postgres</H2>
<P>Примеры строк для подключения к БД
Postgres: 
</P>
<TABLE CELLPADDING=2 CELLSPACING=2>
	<COL WIDTH=0>
	<TR>
		<TD STYLE="border: none; padding: 0cm">
			<P><TT CLASS="western">&quot;postgres+odbc://test1_usr:test1_pwd@test1_dsn&quot;</TT></P>
		</TD>
	</TR>
	<TR>
		<TD STYLE="border: none; padding: 0cm">
			<P><TT CLASS="western">&quot;postgres+qodbc3://test1_usr:test1_pwd@test1_dsn&quot;
			</TT>
			</P>
		</TD>
	</TR>
	<TR>
		<TD STYLE="border: none; padding: 0cm">
			<P><TT CLASS="western">&quot;postgres+qtsql://test1_usr:test1_pwd@127.0.0.1:5432/test1_db&quot;</TT></P>
		</TD>
	</TR>
</TABLE>
<PRE CLASS="western">C:\Program Files\PostgreSQL\9.1\bin&gt;createuser -U postgres -h 127.0.0.1 -p 5432 -D -A -P test1_usr
Enter password for new role: test1_pwd
Enter it again: test1_pwd
Shall the new role be allowed to create more new roles? (y/n) n
Password: &lt;ваш главный пароль от Postgres&gt;
C:\Program Files\PostgreSQL\9.1\bin&gt;createdb -U postgres -h 127.0.0.1 -p 5432 -O test1_usr test1_db
Password: &lt;ваш главный пароль от Postgres&gt;</PRE><P>
Применить сгенерированные скрипты SQL
можно так: 
</P>
<PRE CLASS="western">C:\Program Files\PostgreSQL\9.1\bin&gt;psql -h 127.0.0.1 -p 5432 -d test1_db -U test1_usr &lt; c:\yborm\examples\test_schema.sql
Password for user test1_usr: test1_pwd
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index &quot;t_orm_test_pkey&quot; for table &quot;t_orm_test&quot;
CREATE TABLE
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index &quot;t_orm_xml_pkey&quot; for table &quot;t_orm_xml&quot;
CREATE TABLE
ALTER TABLE
CREATE SEQUENCE
CREATE SEQUENCE
C:\Program Files\PostgreSQL\9.1\bin&gt;psql -h 127.0.0.1 -p 5432 -d test1_db -U test1_usr &lt; c:\yborm\examples\ex2_schema.sql
Password for user test1_usr: test1_pwd
...
C:\Program Files\PostgreSQL\9.1\bin&gt;psql -h 127.0.0.1 -p 5432 -d test1_db -U test1_usr &lt; c:\yborm\examples\auth_schema.sql
Password for user test1_usr: test1_pwd
...</PRE><H2 CLASS="western">
<A NAME="Firebird"></A>Firebird</H2>
<P>Примеры строк для подключения к БД
Postgres (для Interbase может тоже подойти): 
</P>
<TABLE CELLPADDING=2 CELLSPACING=2>
	<TR>
		<TD STYLE="border: none; padding: 0cm">
			<P><TT CLASS="western">&quot;interbase+odbc://test1_usr:test1_pwd@test1_dsn&quot;</TT>
						</P>
		</TD>
	</TR>
	<TR>
		<TD STYLE="border: none; padding: 0cm">
			<P><TT CLASS="western">&quot;interbase+soci://service=localhost:/var/lib/firebird/2.5/data/test1_db.fdb
			user=test1_usr password=test1_pwd charset=UTF8&quot;</TT> 
			</P>
		</TD>
	</TR>
</TABLE>
<P>Пароль по умолчанию для пользователя
администратора <TT CLASS="western">SYSDBA</TT>:
<TT CLASS="western">masterkey</TT>. 
</P>
<PRE CLASS="western">C:\Program Files\Firebird\Firebird_2_5\bin&gt;gsec -user SYSDBA -password masterkey
GSEC&gt; add test1_usr -pw test1_pwd
Warning - maximum 8 significant bytes of password used
GSEC&gt; quit
C:\Program Files\Firebird\Firebird_2_5\bin&gt;isql
Use CONNECT or CREATE DATABASE to specify a database
SQL&gt; CREATE DATABASE 'localhost:c:/yborm/examples/test1_db.fdb'
CON&gt; page_size 8192 user 'test1_usr' password 'test1_pwd';
SQL&gt; quit;</PRE><P>
Применить сгенерированные скрипты SQL
можно так: 
</P>
<PRE CLASS="western">C:\Program Files\Firebird\Firebird_2_5\bin&gt;isql -u test1_usr -p test1_pwd localhost:c:/yborm/examples/test1_db.fdb &lt; c:\yborm\examples\test_schema.sql
C:\Program Files\Firebird\Firebird_2_5\bin&gt;isql -u test1_usr -p test1_pwd localhost:c:/yborm/examples/test1_db.fdb &lt; c:\yborm\examples\ex2_schema.sql
C:\Program Files\Firebird\Firebird_2_5\bin&gt;isql -u test1_usr -p test1_pwd localhost:c:/yborm/examples/test1_db.fdb &lt; c:\yborm\examples\auth_schema.sql</PRE><P>
В среде Ubuntu Linux, использование команды
<TT CLASS="western">gsec</TT> - такое же, а вместо
команды <TT CLASS="western">isql</TT> нужно использовать
<TT CLASS="western">isql-fb</TT>: 
</P>
<PRE CLASS="western">$ isql-fb
Use CONNECT or CREATE DATABASE to specify a database
SQL&gt; CREATE DATABASE '/var/lib/firebird/2.5/data/test1_db.fdb'
CON&gt; page_size 8192 user 'test1_usr' password 'test1_pwd';
SQL&gt; quit;
$ isql-fb -u test1_usr -p test1_pwd \
 localhost:/var/lib/firebird/2.5/data/test1_db.fdb &lt; lib/orm/test/mk_tables.sql
$ isql-fb -u test1_usr -p test1_pwd \
 localhost:/var/lib/firebird/2.5/data/test1_db.fdb &lt; examples/domain/mk_tables.sql
$ isql-fb -u test1_usr -p test1_pwd \
 localhost:/var/lib/firebird/2.5/data/test1_db.fdb &lt; examples/auth/src/domain/auth_schema.sql</PRE>
</BODY>
</HTML>
